package com.wingsboat;

import java.util.*;

/**
 * @author wangzhong
 * @description: 最长的指定瑕疵度的元音子串
 * 开头和结尾都是元音字母（aeiouAEIOU）的字符串为元音字符串，其中混杂的非元音字母数量为其瑕疵度。比如:
 * 1.“a” 、 “aa”是元音字符串，其瑕疵度都为0
 * 2.“aiur”不是元音字符串（结尾不是元音字符）
 * 3. “abira”是元音字符串，其瑕疵度为2
 * 给定一个字符串，请找出指定瑕疵度的最长元音字符子串，并输出其长度，如果找不到满足条件的元音字符子串，输出0。
 * 子串：字符串中任意个连续的字符组成的子序列称为该字符串的子串。
 * @date 2024/7/22 21:47
 */
public class Test16 {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int flaw = scanner.nextInt();
        char[] charArray = scanner.next().toLowerCase().toCharArray();
        List<Character> beautifulChars = Arrays.asList('a', 'e', 'i', 'o', 'u');
        int count = 0;
        int[] sum = new int[charArray.length];
        Map<Integer,List<Integer>> map = new HashMap<>();
        for(int i=0;i<charArray.length;i++){
            if(beautifulChars.contains(charArray[i])){
                sum[i] =count;
            }else{
                sum[i] = Integer.MAX_VALUE;
                count++;
            }
        }
        int maxLength = 0;
        for(int i = 0;i<sum.length;i++){
            //是元音字母
            if(sum[i]<Integer.MAX_VALUE){
                int nextValue = flaw + sum[i];
                for(int j = i+1;i+1<sum.length&&j<sum.length;j++){
                    if(sum[j]==nextValue){
                        maxLength = Math.max(maxLength,j-i+1);
                    }else if(sum[j]>nextValue){
                        break;
                    }
                }
            }
        }
        System.out.println(maxLength);
    }
}
